Fundamental analysis and technical analysis are two generally accepted disciplines of financial Analysis that are used to make trading and investment decisions about publicly traded companies. Fundamental analysis considers the company, its management, marketing activities, sales prospects, supply and demand and other economic factors to estimate the value of the company. This estimate is compared to the company's current stock price on the public markets to determine whether a trade or investment should be made. Technical analysis, on the other hand, only considers the price and volume history of the company and places less emphasis on accounting and economic factors. The historical price and volume behaviour is used to make an assessment of the most likely price in the future. This discipline originated with Charles Dow in the late 1800's and early 1900's.
Both analysis techniques are largely manual due to the subjective nature of the interpretation of the data. The underlying data itself may be factual, for example, an income statement or price charts, yet different people often interpret that data in vastly different ways.
A number of terms of art are used in the present specification. An inbound trend is a series of higher highs or lower lows that lead into a price pattern. An indicator is a calculation based on stock price and/or volume that produces a number in the same unit as price. An example of an indicator is the moving average of a stock price. An oscillator is a calculation based on stock price and/or volume that produces a number within a range. An example of an oscillator is the Relative Strength Index (RSI). A price chart is a graph of a company's share price (Y-axis) plotted against units of time (X-axis).
The terms technical event, and fundamental event are coined terms to denote points such as the price crossing the moving average or the RSI crossing threshold values such as the 30-line or the 70-line. The technical event or fundamental event occurs at a specific point in time. The importance of most indicators and most oscillators can be represented as technical events. A technical event, as used herein, is the point in time where a stock price has interacted (e.g. crossed or bounced) with an indicator or confirmed a price pattern, e.g. by breaking the neckline of a head and shoulder pattern, or an oscillator has crossed a threshold. There are other techniques that technical analysts use to interpret price history as well that can be represented as technical events. These, however, are more subjective and involve the subjective recognition of price formations or price patterns. Fundamental events are the point in time where a stock price has interacted (e.g. crossed or bounced) with a price value computed from company accounting and/or other economic data. The expression financial event includes both fundamental events and technical events. The expression technical event data refers to technical events and associated characteristics. Similarly, the expressions financial event data and fundamental event data refer to financial events and associated characteristics and fundamental events and associated characteristics, respectively.
A price formation, price pattern or chart pattern is a pattern that indicates changes in the supply and demand for a stock cause prices to rise and fall. Over periods of time, these changes often cause visual patterns to appear in price charts. Predictable price movements often occur following price patterns. A reversal pattern is a type of price pattern that is believed to indicate a change in the direction of a price trend. If prices are trending down then a reversal pattern will be bullish since its appearance is believed to indicate prices will move higher. Examples of bullish reversal patterns include double bottoms and head and shoulder bottoms. Similarly, if prices are trending up then a reversal pattern will be bearish. Examples of bearish reversal patterns include double tops and head and shoulder tops. Data fusion is a process by which a conclusion can be inferred from multiple, diverse data sources.
The present invention applies to both the fundamental and technical methods of analysis but the system is described here in detail for technical analysis. Technical analysts, or technicians, place significant value on price charts. Over the years technicians have developed various calculations that aid in their interpretation of the price behaviour that is shown on price charts. For example, they will often look at where a stock's price is relative to its 10-day or 50-day moving average. The choice of using 10 days or 50 days, or other periods, for the basis of the moving average is personal and influenced by whether they are considering long-term or short-term trades. The following table illustrates how a 10-day moving average is calculated—it is the sum of the last 10 prices divided by 10. A 50-day moving average would be the sum of the last 50 prices divided by 50.
TABLE 110-Day Moving AveragesSum of Last 1010-Day MovingPricePricesAverage of Price63.0065365.397.0059059.069.0052852.828.0051151.168.0049049.042.0051851.885.0056656.614.0048348.394.0054754.793.0046546.50.0038838.835.00n/an/a52.00n/an/a7.00n/an/a96.00n/an/a90.00n/an/a2.00n/an/a78.00n/an/a12.00n/an/a16.00n/an/a
In the language of technical analysis, a moving average falls into the class of calculations knows as “indicators”. There are many other types of indicators but they are all calculated from historical prices and volumes. The result of an indicator calculation has the unit of a price.
There is another class of calculation that is used by technical analysts that is known as an oscillator. The result of an oscillator calculation is not a price but rather a number that is constrained to fall within a range such as 0 to 100, or −1 to +1 or some other range as may be deemed to be significant by the technician. An example of an oscillator is the RSI oscillator. FIG. 1 shows an example of an RSI oscillator. Note the vertical axis for the RSI ranges from 0 to 100 but only the range 20 to 80 is shown in the figure. The RSI typically generates a buy signal when the price crosses above the 30-line and a sell signal when it crosses below the 70-line.
There are a large number of desktop software applications and websites that cater to technical analysts. The purpose of these tools is to help the technician with the mechanical task of plotting the charts and calculating indicators and oscillators that help them in their interpretation of the price history. For example, the website http://www.prophet.net is consistently ranked as one of the best websites for technical analysis tools. This site provides several hundred indicators and oscillators that can be drawn on price charts. However, the site does not provide any form of interpretation of the information. Thus, it remains necessary for the technical analyst to review each chart manually to identify charts that are showing events of interest that may identify trading opportunities.
When interpreting a price chart, a technician will often look at where the price is relative to an indicator or where an oscillator is relative to some benchmark. For example, if the price of a security is significantly higher than its moving average Technicians will look for the price to fall back towards the moving average and if the price is significantly lower than the moving average they will look for it to rise up towards the moving average. Of most interest to a technician are charts where the price of a stock has just crossed the moving average. If the price crosses up above the moving average then they will look for the stock price to continue rising. If the price crosses down below the moving average they will look for the price to fall.
Similarly, with a RSI oscillator, for example, Technicians look for securities that have just crossed the 30 or 70 thresholds. If the RSI has just moved up across the 30-line it is said to be a buy signal. If it crosses below the 70-line is it considered a sell signal.
FIG. 2 is a price chart for CBRL Group (NASDAQ symbol CRBL) that is showing a price formation or price pattern called a head and shoulder bottom. The head and shoulder bottom pattern appears in the lower right of the graph spanning the period September through November, and centred on October. The technical event is said to occur at the point in time where the neckline is pierced. In FIG. 2 this occurs in late November.
FIG. 3 shows the same price chart produced annotated according to a commonly assigned method, and described in U.S. Provisional Patent Application No. 60/339,774, filed Dec. 17, 2001, the contents of which are incorporated herein by reference, with the price pattern, neckline and inbound trend all annotated. The inbound trend is marked because technical analysts consider head and shoulder bottom patterns to be reversal patterns and, hence, the existence of a downward trend is necessary so that there is a series of price moves for the pattern to reverse. As can be seen with the annotation, the pattern terminates when the neckline is broken. This event, the price crossing above the neckline, is said to confirm the pattern and it is at this point that a trading action is generally taken.
Traders that use technical analysis continually scan charts like those shown in FIGS. 2 and 3 searching for price pattern confirmations and other technical events. However, the pattern-confirmation technique is under-used since trained analysts are able to study only a relatively small number of charts relative to the number of securities and commodities trading. It is quite impossible for technical analysts to monitor all intra-day price movements to identify price patterns forming over periods of minutes or hours in all the stocks that are trading. The best technical trading opportunities are achieved by combining the technical events that arise from the identification of price patterns with the technical events that arise from indicators and oscillators. The technique can be improved by combining it with fundamental events derived from analysis of fundamental accounting and economic data. The ability to combine these events together has not been possible because it has not been possible to automatically identify, characterize and annotate the price patterns.
The poor quality of prior art recognition services, and their inability identify the inbound trend and characterize a pattern has made it impossible to produce valid technical events for patterns. Attempts have been made to automate the identification of price patterns but they have not been successful for several reasons:                the recognition problem is non-trivial and attempts to automate the process have not worked well;        conventional neural net recognition algorithms are unable to characterize the patterns so the geometric properties of the price patterns have not been known;        detailed characterization of the patterns is necessary to search and filter through the large number of patterns that continually appear to select patterns that appeal to the particular needs of each analyst;        without proper characterization of the price patterns it is not possible to properly formulate the technical event;        conventional neural net recognition algorithms are unable to generate the markup required to annotate the patterns on price charts;        the cost of using trained human analysts to manually scan all of the securities trading on any given stock or commodity exchange and identify and annotate patterns is slow and expensive; and        the effectiveness of a price pattern diminishes rapidly and it is expensive to disseminate the information quickly to large numbers of people.        
It is, therefore, desirable to provide automated detection of technical and fundamental events to enable a system to emulate a full-service brokerage model, which uses human brokers to contact investors to promote trading and offer investment advice and guidance. In the full-service brokerage model, human analysts generate buy/sell recommendations and the brokers then contact customers and advise them to enter and exit positions as appropriate. Distributing technical and fundamental event data over the Internet to sites that serve end-user investors and traders can fulfill the same objective as human brokers in notifying customers to trading opportunities. The signals derived from technical and fundamental events will grow in sophistication over time and, with knowledge of an individual investors portfolio and trading styles, signals can be tailored to provide trading advice and guidance. Existing publicly available price charting technology distributed over a network exists in rudimentary form. However, a significant drawback of such systems is that they do not reliably recognize patterns. Furthermore, they do not identify technical events based on those patterns. It is desirable to improve the selection of signals to distinguish “tradable information” over noise. It is also desirable to automate tedious analytical tasks associated with technical analysis commonly performed manually and provide these results to many clients over a distributed network.